Systems for testing computer software are widely used by quality control and human factors experts and by computing equipment developers, in their efforts to create and improve the use of computing equipment. A key element in such testing is ensuring that the testing is performed on a computer system of known configuration. It may be desired to test the same software repeatedly, with each test being performed on the same configuration. Or it may be desired to test the same software on a number of different known configurations, each new test beginning with a different, but known configuration.
The “configuration” of a computer system includes its hardware, operating system, drivers, and other software. Conventionally, maintaining a “base” configuration of a test computer system during repeated software testing may be achieved by various methods.
One conventional method for maintaining a base configuration is to install and test software on the test computer, then uninstall the software. A problem with this method is that hidden effects of the tested software can remain after the uninstall.
Another method is to partition the hard drive of the test computer. One partition stores a clean copy of the system configuration. The other partition is used during testing. After the testing, the clean configuration is copied onto the partition used during testing.
A third method is to store a clean copy of the system configuration of the test computer on removable media, such as a compact disk, prior to any testing. At the end of the test, the copy of the clean system is copied onto the hard drive of the test computer.